﻿<?xml version="1.0" encoding="utf-8" ?>
<ControlGenerator
    RoutedPropertyEventArgsFactory="WpfHelp.CreateRoutedPropertyChangedEventArgs&lt;TYPE&gt;"
    TemplatePartFactory="WpfHelp.GetTemplateChild&lt;TYPE&gt;"
    OptionalTemplatePartFactory="WpfHelp.GetOptionalTemplateChild&lt;TYPE&gt;" 
    Company="MyCompany"
    Namespace="Fulcrum.Generated"
    Copyright="Copyright (c) No One"
    >

  <!-- AControl -->
  <Control name="AControl"
           location=""
           summary="The summary."
           remarks="Remarks." >
    <RoutedCommand name="DoSomethng" summary="Command summary." />
    <RoutedCommand name="DoSomethingElse" canExecuteAlways="false" summary="Do Something else summary" />
    <CommandBinding
      name="Copy"
      owningType="ApplicationCommands"
      summary="Copy command binding summary"
      canExecuteAlways="false"/>
    <CommandBinding
      name="Paste"
      owningType="ApplicationCommands"
      summary="Paste command binding summary."
      />
    <DependencyProperty name="PropertyName"
                        type="bool"
                        defaultValue="true"
                        typeConverter="MyConverter"
                        summary="Property Summary." />

    <DependencyProperty name="DifferentProperty"
                      type="int"
                      defaultValue="42"
                        validateValue="true"
                      metadataOptions="BindsTwoWayByDefault"
                      summary="Different property summary."
                      remarks="Different property results."
                        />

    <DependencyProperty name="ThirdProperty"
                        type="String"
                        defaultValue="value"
                        isReadOnly="true"
                        coerceValue="true"
                        summary="Third property summary."
      />
  </Control>

  <Control name="AnotherControl"
           location=""
           summary="Another control summary."
           hasAutomationPeer="true"
           overrideStyleMetadata="false">
    
    <Using name="System.Windows.Controls" />

    <TemplatePart name="PartName"
                  type="ListBox"
                  description="ListBox summary." />

    <RoutedEvent name="AnEvent"
                 eventArgsType="RoutedEventArgs"
                 strategy="Bubble"
                 handlerType="RoutedEventHandler"
                 summary="Event summary." />
  </Control>

  <Control name="ThirdControl"
           location=""
           summary="Third control summary."
           hasAutomationPeer="true"
           automationPeerName="TestAutomationPeer"
           automationPeerArguments="this,AutomationControlType.Group"
           >

    <AttachedDependencyProperty name="FirstAttachedProperty"
                        type="long"
                        defaultValue="4324"
                        isReadOnly="true"
                        metaDataOptions="AffectsRender"
                        summary="First attached property summary."
                        getSummary="First attached property get summary"
                        setSummary="First attached property set summary" />

    <AttachedDependencyProperty name="SecondAttachedProperty"
                        type="int"
                        defaultValue="123123"
                        coerceValue="true"
                        validateValue="true"
                        summary="Second attached property summary."
                        getSummary="Second attached property get summary"
                        setSummary="Second attached property set summary" />


    <DependencyProperty name="NoSetProperty"
                          type="ObservableCollection&lt;object&gt;"
                          defaultValue="null"
                          summary="No set property summary."
                          isReadOnly="true"
                          provideSetter="false"
      />

    <RoutedEvent
      name="SomethingHappened"
      eventArgsType="DataRoutedEventArgs&lt;object&gt;"
      strategy="Bubble"
      handlerType="EventHandler&lt;DataRoutedEventArgs&lt;object&gt;&gt;"
      summary="something happened event summary." />

  </Control>


</ControlGenerator>